package com.cmc6.pay.model.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 交易状态枚举类
 */
@AllArgsConstructor
@Getter
public enum TradeStatusEnum {
    WAIT_BUYER_PAY("交易创建，等待买家付款", "WAIT_BUYER_PAY"), //
    TRADE_CLOSED("未付款交易超时关闭，或支付完成后全额退款", "TRADE_CLOSED"), //
    TRADE_SUCCESS("交易支付成功", "TRADE_SUCCESS"), //
    TRADE_FINISHED("交易结束，不可退款", "TRADE_FINISHED"), //
    ;

    private String remark; // 描述
    private String aliPayCode; // 映射 支付宝支付的 code

    /**
     * 通过 aliPayCode，获取枚举类
     */
    public static TradeStatusEnum getByAliPayCode(String aliPayCode) {
        for (TradeStatusEnum item : TradeStatusEnum.values()) {
            if (item.getAliPayCode().equals(aliPayCode)) {
                return item;
            }
        }
        return null;
    }

}
